package cn.b.sky.mes.cm.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import cn.b.sky.common.model.ImeCommon;
import org.apache.commons.lang3.StringUtils;

/**
 * 
 * <strong>Title : Material.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.cm.model<br>
 * </strong> <strong>Description : </strong>物料主数据实体<br>
 * <strong>Create on : 2015-9-29 下午02:29:29<br>
 * </strong>
 * <p>
 * 
 * @author zhaoxin01<br>
 * @version <strong>v1.0.0</strong><br>
 *          <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 *          <br>
 *          <br>
 */
public class Material extends ImeCommon implements Serializable {

  /**
   * @Fields serialVersionUID
   * @creator :zhaoxin01
   */
  private static final long serialVersionUID = -4879037803025604072L;

  private String materialCode;// 物料编号

  private String materialTypeCode;// 物料类型编码

  private String materialTypeText;// 物料类型描述

  private String materialText;// 物料描述

  private String processCode;// 默认工艺编码

  private String processText;// 默认工艺名称

  List<MateriaProcessAssign> processList;// 工艺列表

  private Date currentTime;

  private String workCenterCode;// 默认工作中心

  private String workCenterText;// 默认工作中心描述

  private String bomCode;// BOM编号

  private Integer makeFlag = 0;// 自制件标记

  private Integer buyFlag = 0;// 采购件标记

  private String bomText;// BOM描述

  private Long makelotsize;// 生产批量

  private String materialspec;// 物料规格

  private Integer materialLeadTimeNum;// 物料提前期(单位：天)

  /**
   * 工序级排产
   */
  private Integer operationScheduleFlag = 0;

  public Integer getMakeFlag() {
    return makeFlag;
  }

  public void setMakeFlag(Integer makeFlag) {
    this.makeFlag = makeFlag;
  }

  public Integer getBuyFlag() {
    return buyFlag;
  }

  public void setBuyFlag(Integer buyFlag) {
    this.buyFlag = buyFlag;
  }

  public String getBomText() {
    return bomText;
  }

  public void setBomText(String bomText) {
    this.bomText = bomText;
  }

  public String getWorkCenterText() {
    return workCenterText;
  }

  public void setWorkCenterText(String workCenterText) {
    this.workCenterText = workCenterText;
  }

  public String getWorkCenterCode() {
    return workCenterCode;
  }

  public void setWorkCenterCode(String workCenterCode) {
    this.workCenterCode = workCenterCode;
  }

  public Date getCurrentTime() {
    return currentTime;
  }

  public void setCurrentTime(Date currentTime) {
    this.currentTime = currentTime;
  }

  public List<MateriaProcessAssign> getProcessList() {
    return processList;
  }

  public void setProcessList(List<MateriaProcessAssign> processList) {
    this.processList = processList;
  }

  public String getMaterialTypeText() {
    return materialTypeText;
  }

  public void setMaterialTypeText(String materialTypeText) {
    this.materialTypeText = materialTypeText;
  }

  public String getProcessText() {
    return processText;
  }

  public void setProcessText(String processText) {
    this.processText = processText;
  }

  public String getMaterialCode() {
    return StringUtils.upperCase(materialCode);
  }

  public void setMaterialCode(String materialCode) {
    this.materialCode = StringUtils.upperCase(materialCode);
  }

  public String getMaterialTypeCode() {
    return materialTypeCode;
  }

  public void setMaterialTypeCode(String materialTypeCode) {
    this.materialTypeCode = materialTypeCode;
  }

  public String getMaterialText() {
    return materialText;
  }

  public void setMaterialText(String materialText) {
    this.materialText = materialText;
  }

  public String getProcessCode() {
    return processCode;
  }

  public void setProcessCode(String processCode) {
    this.processCode = processCode;
  }

  /**
   * @return bomCode
   */
  public String getBomCode() {
    return bomCode;
  }

  /**
   * @param bomCode
   *            要设置的 bomCode
   */
  public void setBomCode(String bomCode) {
    this.bomCode = bomCode;
  }

  public Long getMakelotsize() {
    return makelotsize;
  }

  public void setMakelotsize(Long makelotsize) {
    this.makelotsize = makelotsize;
  }

  public String getMaterialspec() {
    return materialspec;
  }

  public void setMaterialspec(String materialspec) {
    this.materialspec = materialspec;
  }

  public Integer getMaterialLeadTimeNum() {
    return materialLeadTimeNum;
  }

  public void setMaterialLeadTimeNum(Integer materialLeadTimeNum) {
    this.materialLeadTimeNum = materialLeadTimeNum;
  }

  public Integer getOperationScheduleFlag() {
    return operationScheduleFlag;
  }

  public void setOperationScheduleFlag(Integer operationScheduleFlag) {
    this.operationScheduleFlag = operationScheduleFlag;
  }

}
